package com.tms.springboot.base.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 企业
 * </p>
 *
 * @author cjj
 * @since 2023-06-14
 */
@Getter
@Setter
@TableName("d_tenant")
public class DTenant implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId("id")
    private Long id;

    /**
     * 企业编码
     */
    @TableField("code")
    private String code;

    /**
     * 企业名称
     */
    @TableField("name")
    private String name;

    /**
     * 类型
#{CREATE:创建;REGISTER:注册}
     */
    @TableField("type")
    private String type;

    /**
     * 状态
#{NORMAL:正常;FORBIDDEN:禁用;WAITING:待审核;REFUSE:拒绝}
     */
    @TableField("status")
    private String status;

    /**
     * 是否内置
     */
    @TableField("readonly")
    private Boolean readonly;

    /**
     * 责任人
     */
    @TableField("duty")
    private String duty;

    /**
     * 有效期
为空表示永久
     */
    @TableField("expiration_time")
    private LocalDateTime expirationTime;

    /**
     * logo地址
     */
    @TableField("logo")
    private String logo;

    /**
     * 企业简介
     */
    @TableField("describe_")
    private String describe;

    /**
     * 用户密码有效期
单位：天 0表示永久有效

     */
    @TableField("password_expire")
    private Integer passwordExpire;

    /**
     * 是否多地登录
     */
    @TableField("is_multiple_login")
    private Boolean isMultipleLogin;

    /**
     * 密码输错次数
密码输错锁定账号的次数
单位：次

     */
    @TableField("password_error_num")
    private Integer passwordErrorNum;

    /**
     * 账号锁定时间
密码输错${passwordErrorNum}次后，锁定账号的时间
单位： h | d | w | m
单位： 时 | 天 | 周 | 月
如：0=当天晚上24点 2h = 2小时   2d = 2天  
     */
    @TableField("password_error_lock_time")
    private String passwordErrorLockTime;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @TableField("create_user")
    private Long createUser;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    @TableField("update_user")
    private Long updateUser;


}
